package com.unicom.proxy.jdkproxy;

/**
 * @author liry
 * @version 1.0
 * @date Created on 2021/12/15 17:35
 * Description:
 */
public class ProxyTest {

    public static void main(String[] args) {
        // 1. 创建被代理对象
        UserService userService = new UserServiceImpl();

        // 2. 根据被代理对象创建 JDKDynamicProxy对象
        JDKDynamicProxy handler = new JDKDynamicProxy(userService);

        // 3. 创建代理对象
        UserService proxyService = (UserService) handler.getProxy();

        // 4. 代理对象执行方法，而代理对象并不会执行目标方法，而是调用InvocationHandler的invoke方法，
        //    目标方法名作为invoke方法的Method参数
        proxyService.update();
    }
}
